package com.appistry.storage;

public interface WorkerConfiguration {
	/**
	 * The mount point for the CloudIQ Storage repository, relative to where the service is installed in the system.
	 * @return
	 */
	public String getMountPath();
	/**
	 * The minimum number of workers queried in a successful read operation.
	 * @return
	 */
	public int getDefaultRead();
	/**
	 * The minimum number of workers updated in a successful write operation.
	 * @return
	 */
	public int getDefaultWrite();
	/**
	 * The number of copies of a file to be held.
	 * @return
	 */
	public int getDefaultNumCopies();
	/**
	 * The number of workers caching a particular file's information in their hash table.
	 * @return
	 */
	public int getIndexCopies();
	/**
	 * The amount of time (in ms) to wait between exchanges of the local membership list with other workers.
	 * @return
	 */
	public int getMembershipExchangeInterval();
	/**
	 * The minimum amount of hard drive space (in GB) the storage system should leave free on a given worker.
	 * @return
	 */
	public double getFreeSpaceMin();
	/**
	 * The port the service is running on.
	 * 
	 * @return
	 */
	public int getPort();
		
	public int getNetworkTimeout();
	public String getHealingStatus();
	public String getSecurityStatus();
	public int getSecurityFileMonitorInterval();
	public String getSslStatus();
	public String getSslCertificateFile();
}
